Пројектни задатак¶
На основу сценарија креирати дијаграм ентитета и веза који садржи све ентитете, атрибуте и именоване везе. Дијаграм ентитета и веза мора да задовољава правила нормализације и не сме садржати ниједну више-према-више везу. Поред дијаграма, направити пропратну документацију која ће садржати опис проблема, решење проблема, као и кључне везе између ентитета.
Превести постојећи дијаграм у релациони модел креирањем одговарајућих табела. Коришћењем наредбе CREATE TABLE потребно је креирати све табеле дате базе. Сваку од тих табела попунити са 10 редова. Коришћењем одговарајућих упита, проверити тачност нове базе података.
За први део пројекта је могуће искористити већ урађен пројектни задатак након теме „Пројектовање“, а могуће је урадити и нешто потпуно ново. Може се користити било коју идеју из задатака који су приказани у претходним лекцијама, или један од следећих примера.
Примери који следе су преузети из званичног плана и програма наставе и учења за предмет Базе података у гимназији за ученике са посебним способностима за информатику и рачунарство.
Пример 1¶
Треба креирати базу података у којој ћемо да водимо евиденцију о изложбама паса које се одржавају у Србији. За сваку изложбу неопходно је знати датум и место одржавања. На изложбама се пси такмиче у категоријама. Један пас се може такмичити у више категорија и у једној категорији се може такмичити више паса. Приликом такмичења пси остварују резултате. У једној категорији пас може остварити само један резултат, али може остварити више резултата у различитим категоријама. За сваког пса потребно је знати име, тежину и када је оштењен. Пас припада само једној раси, а у оквиру једне расе може да се такмичи више паса. Такође, за сваког пса је потребно чувати податке о дужини длаке и боји. Поред резултата треба чувати додатна запажања о псу који је остварио одређени резултат. Пас може имати само једног власника, а власник може имати више паса. За власника је потребно чувати поред података о имену и презимену, адресу и матични број. За сваког пса потребно је чувати и пол.
Коришћењем одговарајућих упита проверити тачност креиране базе података:
Приказати листу назива свих паса тражене расе који су учествовали на изложби у јуну 2013. године сортирани по називу у опадајући низ.
Приказати списак свих изложби које су одржане од маја до октобра 2015. године.
Приказати укупан број паса тражене расе који је пријављен и који су се такмичили на одабраној изложби.
Приказати имена и презимена власника свих паса који су освојили неку награду.
Приказати све шифре изложби и градове у којима су се одржавале сортиране у растућем абецедном низу.
Приказати колико се паса такмичило у свакој категорији за изложбе одржане у јуну и августу 2015. године.
Приказати све власнике и псе који су се појављивали на више од три изложбе у току године.
Пример 2¶
Потребно је креирати базу података у којој се чувају подаци о туристичким аранжманима једне агенције. За туристички аранжман памте се датум поласка и повратка, укупна цена аранжмана, порез на услуге и тип путовања. У оквиру аранжмана посећује се туристичка дестинација при чему више аранжмана може бити за исту дестинацију. За дестинацију се чувају назив места, држава у којој се дестинација налази и цена визе, ако је потребна за ту државу. Путници који путују преко туристичке агенције називају се клијенти и о њима се чувају следећи подаци: име клијента, презиме, адреса, град из којег долази клијент и број телефона. Један путник може имати више различитих аранжмана. Клијенти су на дестинацији смештени у хотелима. За сваки хотел памти се назив хотела, адреса, број телефона, град, држава и категорија хотела. Клијент може више пута да борави у истом хотелу, у више различитих аранжмана. Клијенти у хотелима могу одседати у различитим собама. Због тога је потребно чувати податке о величини и цени собе, а такође и у посебној табели тип собе. Хотел се може резервисати на одређени број дана, при чему се обрачунава укупна цена боравка. Клијентима су понуђени и додатни обиласци да би агенција учинила аранжман атрактивнијим. За сваки обилазак памте се назив обиласка и цена.
Коришћењем одговарајућих упита проверити тачност креиране базе података:
Приказати називе хотела са три звездице у Енглеској и укупан број аранжмана за хотел „Асторија“, који су обављени у јуну 2015. године, сортиран по називу хотела у растућем низу.
Приказати све категорије хотела који се налазе у Грчкој, сортиране у растућем низу.
Приказати све клијенте који су више од два пута у 2013. години боравили у хотелу „Асторија“.
Приказати клијенте који су имали више од четири аранжмана у периоду од 2013. до 2015. године.
Приказати све типове соба, као и величину и цену соба у хотелима који се налазе у Италији.
Приказати клијенте који су одсели у хотелима са четири звездице у периоду од маја до августа 2014. године.
Приказати све податке о хотелу у коме су клијенти боравили дуже од 10 дана. Уједно приказати и имена клијената, датум поласка и повратка, и укупну цену аранжмана.